package com.xyy.saas.payment.cores.vo;


import com.xyy.saas.payment.cores.enums.CashierEnum;
import com.xyy.saas.payment.cores.enums.ChannelEnum;
import com.xyy.saas.payment.cores.enums.TerminalTypeEnum;
import lombok.Data;

import java.io.Serializable;

@Data
public class PrepayJumpCashierVo implements Serializable {
    private static final long serialVersionUID = 7402466221163496265L;
    /**
     * 收款方id
     */
    private String payeeId;
    /**
     * 业务订单号，业务方的订单号，要求唯一
     */
    private String businessOrderNo;
    /**
     * 订单原始金额（单位为分），货币目前只支持人民币，默认为人民币 取值范围 1~1000000000 包含边界值
     */
    private Integer amount;
    /**
     * 异步结果回调地址
     */
    private String callback;
    /**
     * 接口调用方的标识，支付平台分配，用于验签
     */
    private String invoker;
    /**
     * 接口调用方的业务类型, 支付平台分配
     */
    private String businessType;
    /**
     * 订单发起方的业务类型, 用于标识用户id归属，支付平台分配
     */
    private String businessIdType;
    /**
     * 订单业务类型, 用于标识订单归属，支付平台分配
     */
    private String businessOrderType;
    /**
     * 支付渠道
     */
    private ChannelEnum channel;
    /**
     * 商品描述 例如：'腾讯充值中心-QQ会员充值' 要求长度小于128位
     */
    private String body;
    /**
     * 扩展参数 map格式转成json 没有就不填
     * 聚合支付需要传订单过期时间 key:timeExpire value:yyyyMMddHHmmss
     ***************************************************************
     * 微信支付需要传订单过期时间 key:timeExpire value:yyyyMMddHHmmss
     * 微信小程序支付需要传入用户openId  key:openId  value:用户的openId
     * 微信扫码支付需要传入商品id  业务自行维护 key:productId  value:商品ID
     * 微信h5支付需要传入终端号ip key:client_ip value:ip
     * 微信公众号支付需要传入用户openId  key:openId  value:用户的openId
     ***************************************************************
     * 银联pc支付需要支付成功后跳转的地址 key:resultUrl value:网页地址
     ***************************************************************
     * 支付宝小程序支付需要传入买家支付宝ID  key:buyerId value:买家支付宝ID
     * *************************************************************
     * 中行支付需要传入业务code码
     * *************************************************************
     * 支付场景 key:payScene value：online_pay（在线支付），other_pay（他人代付）
     * com.xyy.saas.payment.cores.enums.PaySceneEnum
     */
    private String mapJson;

    /**
     * 收银台类型
     */
    private CashierEnum cashierEnum;
    /**
     * 商品标题
     */
    private String subject;
    /**
     * 付款方id（合规方案必传）
     */
    private String payerId;
    /**
     * 付款方昵称（合规方案必传）
     */
    private String payerName;
    /**
     * 卖方昵称（合规方案必传）
     */
    private String sellerName;
    
    /**
     * @Description 
     * @Param 终端类型
     * @return 
     * @Author User
     * @Date 2021/6/28 下午2:19
     **/
    private TerminalTypeEnum terminalTypeEnum = TerminalTypeEnum.APP;

    /**
     * 备注
     */
    private String remark;
    /**
     * 支付平台商户标识
     */
    private String accountId;
}
